Rendezvous selected cpus in softirq (stop_machine).
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 11 Feb 2008 15:59:49 +0000 (15:59 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 11 Feb 2008 15:59:49 +0000 (15:59 +0000)
commitf029add7ef8d5a4d474263a3a83f84fd7873aca1
tree3fd5d21efa9ce2932889addce5777674e215d89b
parent6abc7e7e8c16fcf4deb4819d8d96591739cb8dbd
Rendezvous selected cpus in softirq (stop_machine).

This is similar to stop_machine_run stub from Linux, to pull
selected cpus in rendezvous point and the do some batch work
under a safe environment. Current one usage is from S3 path,
where individual cpu is pulled down with related online
footprints being cleared. It's dangerous to have other cpus
checking clobbered data structure in the middle, such as
cpu_online_map, cpu_sibling_map, etc.

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
xen/arch/x86/cpu/mtrr/main.c
xen/arch/x86/domain.c
xen/arch/x86/smpboot.c
xen/common/Makefile
xen/common/stop_machine.c [new file with mode: 0644]
xen/include/asm-x86/smp.h
xen/include/xen/smp.h
xen/include/xen/softirq.h
xen/include/xen/stop_machine.h [new file with mode: 0644]